#ifndef _FRSSL_DAQ_H
#define _FRSSL_DAQ_H

#include <daq_common.h>

#define DAQ_MODULE_PCAP         "pcap"
#define DAQ_MODULE_AFPACKET     "afpacket"

int DAQ_Load (const char* dirs[]);
int DAQ_Init(const char *p_module_name);

int DAQ_New(DAQ_Mode en_mode
          , char *p_input
          , unsigned int ui_ring_size
          , unsigned int ui_snaplen
          , unsigned int ui_timeout
          , char *p_errbuf, unsigned int ui_buf_size);
int DAQ_Start(char *p_errbuf, unsigned int ui_buf_size);

int DAQ_SetFilter(const char* bpf);

int DAQ_Acquire(int max, DAQ_Analysis_Func_t callback, uint8_t* user);
int DAQ_BreakLoop (int error);

int DAQ_Stop();
void DAQ_Unload(void);

int DAQ_datalink(void);
void DAQ_GetError(char *p_msg, unsigned int ui_size);
//const DAQ_Stats_t* DAQ_GetStats(void);

#endif /* _NIDS_DAQ_COMM_H */
